// Copyright (C) 2023 即时通讯网(52im.net) & Jack Jiang.
// The RainbowChat Project. All rights reserved.
// 
// 【本产品为著作权产品，合法授权后请放心使用，禁止外传！】
// 【本次授权给：<北京小羊驼科技有限公司>，授权编号：<NT231212144350>，代码指纹：<A.702363430.550>，技术对接人微信：<ID: wxid_wbyootvkdcgj22>】
// 【授权寄送：<收件：苏先生、地址：北京市大兴区北京密码西区6号楼1单元301、电话：18613885610、邮箱：bd@huiyuanxiang-inc.com>】
// 
// 【本系列产品在国家版权局的著作权登记信息如下】：
// 1）国家版权局登记名(简称)和权证号：RainbowChat    （证书号：软著登字第1220494号、登记号：2016SR041877）
// 2）国家版权局登记名(简称)和权证号：RainbowChat-Web（证书号：软著登字第3743440号、登记号：2019SR0322683）
// 3）国家版权局登记名(简称)和权证号：RainbowAV      （证书号：软著登字第2262004号、登记号：2017SR676720）
// 4）国家版权局登记名(简称)和权证号：MobileIMSDK-Web（证书号：软著登字第2262073号、登记号：2017SR676789）
// 5）国家版权局登记名(简称)和权证号：MobileIMSDK    （证书号：软著登字第1220581号、登记号：2016SR041964）
// * 著作权所有人：江顺/苏州网际时代信息科技有限公司
// 
// 【违法或违规使用投诉和举报方式】：
// 联系邮件：jack.jiang@52im.net
// 联系微信：hellojackjiang
// 联系QQ号：413980957
// 授权说明：http://www.52im.net/thread-1115-1-1.html
// 官方社区：http://www.52im.net
package com.x52im.rbchat.logic.chat_root;

import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.ProgressBar;
import android.widget.TextView;

import com.x52im.rainbowchat.im.dto.MsgType;

import org.w3c.dom.Text;

public class ChattingListViewHolder
{
    /** ------------------------ 【聊天消息气泡中的组件命名约定】 -------------------------- */
    /* 约定1：所有聊天消息通用(必须)的组件，命名以"mv"开头、非通用组件以"ev"开头                 */
    /* 约定2：当通用组件("mv"开头)对于该类消息无意义时，可在layout中设置gone（不可见），但不可没有 */
    /** --------------------------------------------------------------------------------- */

    /**
     * ------------ 各种消息通用 ---------------------
     */
    public int isComMsg = MsgType.TYPE_TEXT;

    /** 消息发送时间显示控件（所有消息都有此组件） */
    public TextView mvSendTime_v2020;

    /** 消息内容主布局（所有消息都有此组件） */
    public ViewGroup mvContentMainLayout;
    /** 消息内容显示控件（在不同的消息类型中，此组件表示的内容意义可能不一样哦） */
    public TextView mvContent;
    /** 消息内容图标显示控件（在不同的消息类型中，此组件表示的内容意义可能不一样哦） */
    public ImageView mvContentIcon;
    /** 消息内容描述信息显示控件（在不同的消息类型中，此组件表示的内容意义可能不一样哦） */
    public TextView mvContentDesc;

    /** 消息发送失败图标显示控件 */
    public ImageView mvChatSendFaild = null;

    /** 消息发送者头像 */
    public ImageView mvUserHead = null;
    /** 消息发送者昵称 */
    public TextView mvUserName = null;

    // 以下消息内容组件点击事件处理者用于“发出的”、“接收的”：图片、语音留言消息
    public View.OnClickListener contentOnClickListener = null;
    // 该用户头像组件点击事件处理者用于所有消息类型
    public View.OnClickListener headIconOnClickListener = null;
    // 该发送失败提示图标的点击事件处理者用于所有消息类型
    public View.OnClickListener sendFialedOnClickListener = null;


    /**
     * ------------ 发出的图片、发出的语音留言、发出的大文件、发出的短视频专用 ---------------------
     */
    // 以下2个组件目前仅用于“发出的”：图片、语音留言、大文件、短视频消息 的上传进度父布局
    public View evSendstatusSencondaryLayout = null;
    public TextView evSendstatusSencondaryHintView = null;


    /**
     * ------------ 发出/收到的语音消息专用 ---------------------
     */
//    // 该1个组件目前仅用于“发出的”语音留言消息：播放状态显示组件
//    public ImageView evContent_playStatus = null; //


    /**
     * ------------ 发出/收到的礼品消息专用 ---------------------
     */
    // 该组件目前仅用于赠送（包括发出的、收到的）的礼品消息时的动画背景效果 */
    public ImageView evGiftRotateEfectView;
//    // 该组件目前仅用于索取（包括发出的、收到的）的礼品消息（共2种消息）时的“台词显示” */
//    public TextView evDialogueForGiftView;
//    // 该组件目前仅用于赠送（包括发出的、收到的）的礼品消息（共2种消息）时的“价格显示” */
//    public TextView evPriceForSendView;


    /**
     * ------------ 发出/收到的大文件消息专用 ---------------------
     */
////    // 该组件目前仅用于文件消息（包括收到的和发出的）：文件图标
////    public ImageView ev_chatcontent_fileicon_forFile;
//    // 该组件目前仅用于文件消息（包括收到的和发出的）：文件大小
//    public TextView ev_chatcontent_filesize_forFile;


    /**
     * ------------ 发出/收到的短视频消息专用 ---------------------
     */
//    // 该组件目前仅用于短视频消息（包括收到的和发出的）：视频预览图
//    public ImageView ev_chatcontent_previewimg_forShorVideo;


    /**
     * ------------ 发出/收到的个人名片消息专用 ---------------------
     */
//    // 该组件目前仅用于个人名片消息（包括收到的和发出的）：头像图片
//    public ImageView ev_chatcontent_headicon_forContact;
    // 该组件目前仅用于个人名片消息（包括收到的和发出的）：附加信息
//    public TextView ev_chatcontent_desc_forContact;
//    // 该组件目前仅用于个人名片消息（包括收到的和发出的）：名片类型
    public TextView ev_chatcontent_type_forContact;


    /**
     * ------------ 发出/收到的位置消息专用 ---------------------
     */
//    // 该组件目前仅用于位置消息（包括收到的和发出的）：预览图片
//    public ImageView ev_chatcontent_previewimg_forLocation;
//    // 该组件目前仅用于位置消息（包括收到的和发出的）：描述信息
//    public TextView ev_chatcontent_desc_forLocation;


    /**
     * ------------ 收到的语音留言消息、发出的大文件消息专用 ---------------------
     */
    // 该1个组件目前用于“收到的”语音留言消息：声音文件下载进度、发出的大文件消息、发出的短视频文件：文件上传进度
    public ProgressBar evProgressBar = null;
}